home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / intro_blas.z / intro_blas
Encoding:
Text File  |  2002-10-03  |  6.4 KB  |  133 lines

  1.  
  2.  
  3.  
  4. IIIINNNNTTTTRRRROOOO____BBBBLLLLAAAASSSS((((3333SSSS))))                                                  IIIINNNNTTTTRRRROOOO____BBBBLLLLAAAASSSS((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      IIIINNNNTTTTRRRROOOO____BBBBLLLLAAAASSSS - Introduction to SCSL Basic Linear Algebra Subprograms
  10.  
  11. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  12.      See individual man pages for operating system and hardware availability.
  13.  
  14. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  15.      The Basic Linear Algebra Subprograms comprise a library of routines that
  16.      perform basic operations involving matrices and vectors. They were
  17.      designed as a way of achieving efficiency in the solution of linear
  18.      algebra problems. The BLAS, as they are now commonly called, have been
  19.      very successful and have been used in a wide range of software, including
  20.      LINPACK, LAPACK and many of the algorithms published by the ACM
  21.      Transactions on Mathematical Software. They are an aid to clarity,
  22.      portability, modularity and maintenance of software, and have become the
  23.      de facto standard for elementary vector and matrix operations.
  24.  
  25.      The BLAS promote modularity by identifying frequently occurring
  26.      operations of linear algebra and by specifying a standard interface to
  27.      these operations.  Efficiency is achieved through optimization within the
  28.      BLAS without altering the higher-level code that references them.
  29.  
  30.      There are three levels of BLAS:
  31.  
  32.      *   Level 1: The original set of BLAS, commonly referred as the Level 1
  33.          BLAS, perform low-level operations such as dot-product and the adding
  34.          of a multiple of one vector to another.
  35.  
  36.          Typically these operations involve O(_n) floating point operations and
  37.          O(_n) data items moved (loaded or stored), where _n is the length of
  38.          the vectors. The Level 1 BLAS permit efficient implementation on
  39.          scalar machines, but the ratio of floating-point operations to data
  40.          movement is too low to be effective on most vector or parallel
  41.          hardware.
  42.  
  43.          For more details on Level 1 BLAS routines available in SCSL, please
  44.          refer to the IIIINNNNTTTTRRRROOOO____BBBBLLLLAAAASSSS1111(3S) man page.
  45.  
  46.      *   Level 2: The Level 2 BLAS perform matrix-vector operations that occur
  47.          frequently in the implementation of many of the most common linear
  48.          algebra algorithms.
  49.  
  50.          These routines involve O(_n) floating point operations. Algorithms
  51.          that use Level 2 BLAS can be very efficient on vector computers, but
  52.          are not well suited to computers with a hierarchy of memory (such as
  53.          cache memory).
  54.  
  55.          For more details on Level 2 BLAS routines available in SCSL, please
  56.          refer to the IIIINNNNTTTTRRRROOOO____BBBBLLLLAAAASSSS2222(3S) man page.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. IIIINNNNTTTTRRRROOOO____BBBBLLLLAAAASSSS((((3333SSSS))))                                                  IIIINNNNTTTTRRRROOOO____BBBBLLLLAAAASSSS((((3333SSSS))))
  71.  
  72.  
  73.  
  74.      *   Level 3:  The Level 3 BLAS are targeted at matrix-matrix operations.
  75.  
  76.          They involve O(_n) floating point operations, but only create O(_n)
  77.          data movement. These operations permit efficient reuse of data that
  78.          reside in cache and create what is often called the surface-to-volume
  79.          effect for the ratio of computations to data movement. In addition,
  80.          matrices can be partitioned into blocks, and operations on distinct
  81.          blocks can be performed in parallel, and within the operations on
  82.          each block, scalar or vector operations may be performed in parallel.
  83.  
  84.          For more details on Level 3 BLAS routines available in SCSL, please
  85.          refer to the IIIINNNNTTTTRRRROOOO____BBBBLLLLAAAASSSS3333(3S) man page.
  86.  
  87.      BLAS2 and BLAS3 modules in SCSL are optimized and parallelized to take
  88.      advantage of SGI's chip-level and system-level architectures. The best
  89.      performance is achieved with BLAS3 routines (for example, DDDDGGGGEEEEMMMMMMMM) where
  90.      outer-loop unrolling and blocking techniques have been applied to take
  91.      advantage of the memory cache. The performance of BLAS2 routines (for
  92.      example, DDDDGGGGEEEEMMMMVVVV) is sensitive to the size of the problem; for large sizes
  93.      the high cache miss rate slows down the algorithms.
  94.  
  95.      SCSL's LAPACK algorithms make extensive use of BLAS3 modules and are more
  96.      efficient than the older, BLAS1-based LINPACK algorithms.
  97.  
  98. NNNNOOOOTTTTEEEESSSS
  99.      SSSSCCCCSSSSLLLL does not currently support reshaped arrays.
  100.  
  101. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  102.      S.P. Datardina, J.J. Du Croz, S.J. Hammarling and M.W. Pont, "A Proposed
  103.      Specification of BLAS Routines in C", NAG Technical Report TR6/90.
  104.  
  105.      C. Lawson, R. Hanson, D. Kincaid, and F. Krogh, "Basic Linear Algebra
  106.      Subprograms for Fortran Usage", _A_C_M _T_r_a_n_s_a_c_t_i_o_n_s _o_n _M_a_t_h_e_m_a_t_i_c_a_l
  107.      _S_o_f_t_w_a_r_e, 5 (1979), pp. 308-325.
  108.  
  109.      J. Dongarra, J. DuCroz, S. Hammarling, and R. Hanson, "An extended set of
  110.      Fortran Basic Linear Algebra Subprograms", ACM Trans. on Math. Soft. 14,
  111.      1 (1988), pp. 1-32.
  112.  
  113.      J. Dongarra, J. DuCroz, I. Duff, and S. Hammarling, "An set of level 3
  114.      Basic Algebra Subprograms", ACM Trans. on Math. Soft. (Dec 1989).
  115.  
  116.      IIIINNNNTTTTRRRROOOO____SSSSCCCCSSSSLLLL(3S), IIIINNNNTTTTRRRROOOO____BBBBLLLLAAAASSSS1111(3S), IIIINNNNTTTTRRRROOOO____BBBBLLLLAAAASSSS2222(3S), IIIINNNNTTTTRRRROOOO____BBBBLLLLAAAASSSS3333(3S),
  117.      IIIINNNNTTTTRRRROOOO____CCCCBBBBLLLLAAAASSSS(3S), IIIINNNNTTTTRRRROOOO____LLLLAAAAPPPPAAAACCCCKKKK(3S)
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.                                                                         PPPPaaaaggggeeee 2222
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.